package com.qingxin.wuye.entity;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;

/**
 * 收费项目
 * WyFeeItem entity. 
 * @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "wy_fee_item")
public class WyFeeItem extends com.qingxin.sys.entity.BaseEntity implements
		java.io.Serializable {
	private static final long serialVersionUID = -2337192405862436839L;
	// Fields

	private String itemid;
	private String companyid;
	private String prjcode;
	private String prjname;
	private Integer feeMode;
	private Integer chargeMode;
	private Integer feeType;
	private Integer cycle;
	private Integer cycleNum;
	private String cycleUnit;
	private BigDecimal price;
	private Integer isfee;
	private String accuracy;
	private Integer printIndex;
	private Integer tiered;
	private BigDecimal latePaymentsRate;
	private Integer latePaymentsDays;
	private Integer incrementMonths;
	private BigDecimal incrementPercent;
	private String formulas;
	private String createBy;
	private Date createTime;
	private String updateBy;
	private Date updateTime;

	// Constructors

	/** default constructor */
	public WyFeeItem() {
	}

	public WyFeeItem(String itemid, String prjcode, String prjname) {
		this.itemid = itemid;
		this.prjcode = prjcode;
		this.prjname = prjname;
	}

	/** full constructor */
	public WyFeeItem(String prjcode, String prjname, Integer feeMode,
			Integer chargeMode, Integer feeType, Integer cycle,
			Integer cycleNum, String cycleUnit, BigDecimal price, Integer isfee,
			String accuracy, Integer printIndex, Integer tiered,
			BigDecimal latePaymentsRate, Integer latePaymentsDays,
			Integer incrementMonths, BigDecimal incrementPercent, String formulas,
			String createBy, Date createTime, String updateBy,
			Date updateTime) {
		this.prjcode = prjcode;
		this.prjname = prjname;
		this.feeMode = feeMode;
		this.chargeMode = chargeMode;
		this.feeType = feeType;
		this.cycle = cycle;
		this.cycleNum = cycleNum;
		this.cycleUnit = cycleUnit;
		this.price = price;
		this.isfee = isfee;
		this.accuracy = accuracy;
		this.printIndex = printIndex;
		this.tiered = tiered;
		this.latePaymentsRate = latePaymentsRate;
		this.latePaymentsDays = latePaymentsDays;
		this.incrementMonths = incrementMonths;
		this.incrementPercent = incrementPercent;
		this.formulas = formulas;
		this.createBy = createBy;
		this.createTime = createTime;
		this.updateBy = updateBy;
		this.updateTime = updateTime;
	}

	// Property accessors
	@GenericGenerator(name = "generator", strategy = "uuid.hex")
	@Id
	@GeneratedValue(generator = "generator")
	@Column(name = "itemid", unique = true, nullable = false, length = 32)
	public String getItemid() {
		return this.itemid;
	}

	public void setItemid(String itemid) {
		this.itemid = itemid;
	}

	@Column(name = "companyid", length = 32)
	public String getCompanyid() {
		return companyid;
	}

	public void setCompanyid(String companyid) {
		this.companyid = companyid;
	}

	@Column(name = "prjcode", length = 50)
	public String getPrjcode() {
		return this.prjcode;
	}

	public void setPrjcode(String prjcode) {
		this.prjcode = prjcode;
	}

	@Column(name = "prjname", length = 50)
	public String getPrjname() {
		return this.prjname;
	}

	public void setPrjname(String prjname) {
		this.prjname = prjname;
	}

	@Column(name = "fee_mode")
	public Integer getFeeMode() {
		return this.feeMode;
	}

	public void setFeeMode(Integer feeMode) {
		this.feeMode = feeMode;
	}

	@Column(name = "charge_mode")
	public Integer getChargeMode() {
		return this.chargeMode;
	}

	public void setChargeMode(Integer chargeMode) {
		this.chargeMode = chargeMode;
	}

	@Column(name = "fee_type")
	public Integer getFeeType() {
		return this.feeType;
	}

	public void setFeeType(Integer feeType) {
		this.feeType = feeType;
	}

	@Column(name = "cycle")
	public Integer getCycle() {
		return this.cycle;
	}

	public void setCycle(Integer cycle) {
		this.cycle = cycle;
	}

	@Column(name = "cycle_num")
	public Integer getCycleNum() {
		return this.cycleNum;
	}

	public void setCycleNum(Integer cycleNum) {
		this.cycleNum = cycleNum;
	}

	@Column(name = "cycle_unit", length = 50)
	public String getCycleUnit() {
		return this.cycleUnit;
	}

	public void setCycleUnit(String cycleUnit) {
		this.cycleUnit = cycleUnit;
	}

	@Column(name = "price", precision = 12, scale = 2)
	public BigDecimal getPrice() {
		return this.price;
	}

	public void setPrice(BigDecimal price) {
		this.price = price;
	}

	@Column(name = "isfee")
	public Integer getIsfee() {
		return this.isfee;
	}

	public void setIsfee(Integer isfee) {
		this.isfee = isfee;
	}

	@Column(name = "accuracy", length = 50)
	public String getAccuracy() {
		return this.accuracy;
	}

	public void setAccuracy(String accuracy) {
		this.accuracy = accuracy;
	}

	@Column(name = "print_index")
	public Integer getPrintIndex() {
		return this.printIndex;
	}

	public void setPrintIndex(Integer printIndex) {
		this.printIndex = printIndex;
	}

	@Column(name = "tiered")
	public Integer getTiered() {
		return this.tiered;
	}

	public void setTiered(Integer tiered) {
		this.tiered = tiered;
	}

	@Column(name = "late_payments_rate", precision = 12, scale = 6)
	public BigDecimal getLatePaymentsRate() {
		return this.latePaymentsRate;
	}

	public void setLatePaymentsRate(BigDecimal latePaymentsRate) {
		this.latePaymentsRate = latePaymentsRate;
	}

	@Column(name = "late_payments_days")
	public Integer getLatePaymentsDays() {
		return this.latePaymentsDays;
	}

	public void setLatePaymentsDays(Integer latePaymentsDays) {
		this.latePaymentsDays = latePaymentsDays;
	}

	@Column(name = "increment_months")
	public Integer getIncrementMonths() {
		return this.incrementMonths;
	}

	public void setIncrementMonths(Integer incrementMonths) {
		this.incrementMonths = incrementMonths;
	}

	@Column(name = "increment_percent", precision = 12, scale = 4)
	public BigDecimal getIncrementPercent() {
		return this.incrementPercent;
	}

	public void setIncrementPercent(BigDecimal incrementPercent) {
		this.incrementPercent = incrementPercent;
	}

	@Column(name = "formulas", length = 500)
	public String getFormulas() {
		return this.formulas;
	}

	public void setFormulas(String formulas) {
		this.formulas = formulas;
	}

	@Column(name = "create_by", length = 50)
	public String getCreateBy() {
		return this.createBy;
	}

	public void setCreateBy(String createBy) {
		this.createBy = createBy;
	}

	@Column(name = "create_time", length = 23)
	public Date getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Column(name = "update_by", length = 50)
	public String getUpdateBy() {
		return this.updateBy;
	}

	public void setUpdateBy(String updateBy) {
		this.updateBy = updateBy;
	}

	@Column(name = "update_time", length = 23)
	public Date getUpdateTime() {
		return this.updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

}